package leetCode;

import lombok.Data;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * 从1000w个数中取出最小的10个数，并按照顺序打印。
 */
public class BOSS_Rocket2 {
    public static void print(int[] array) {
        /*
        顺序取前10个元素构建最大堆，从第11个元素开始如果该元素比堆顶元素大则直接丢弃，如果比堆顶元素小
        则用该元素替换堆顶元素，然后保持最大堆性质最后此堆元素即为最小的10个数
         */
    }

    @Data
    static
    class User {

        public User(Integer age) {
            this.age = age;
        }

        private Integer age;

        public Integer getAge() {
            return age;
        }


        public static void main(String[] args) {
            User user = new User(20);
            User user2 = new User(21);
            List<User> list = new ArrayList();
            list.add(user);
            list.add(user2);
            Iterator iterator = list.iterator();

            while (iterator.hasNext()) {
                User next = (User) iterator.next();
                if (next.getAge() > 20) {
                    iterator.remove();
                }
            }
            for (User u : list
            ) {
                System.out.println(u.getAge());
            }
            System.out.println();
        }
    }
}
